/**
 * 繁殖记录
 * @constructor
 */
function Reproduction() {
}

Reproduction.init = function () {
    $('#tableList').bootstrapTable({
        url: '/reproduction/tableSearch',
        method: 'post',
        striped : true, //是否显示行间隔色
        toolbar: "#toolbar",
        sidePagination: "true",
        dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
        showToggle : true, //是否显示详细视图和列表视图的切换按钮
        striped: true, // 是否显示行间隔色
        //search : "true",
        uniqueId: "id",
        pageList : [ 5, 10, 20,50,100],//可选择单页记录数
        pageSize: "10",
        pagination: true, // 是否分页
        sortable: true, // 是否启用排序
        sidePagination: 'server', // 设置为服务器端分页     客户端：client
        search:false,
        showColumns: true,
        showRefresh: true,
        showExport: true,
        //得到查询的参数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var query_params = {
                //********table的参数 不变
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sort: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                //********
                //获取查询的对象，往下加入
                livestockNumber: $('#search_LivestockNumber').val(), // 请求时向服务端传递的参数
                timeInterval: $('#search_TimeIntervale').val(), // 请求时向服务端传递的参数
                timeInterval2: $('#search_TimeIntervale2').val(), // 请求时向服务端传递的参数
                formulation: $('#search_MateNumber').val(), // 请求时向服务端传递的参数
                childbirth: $('#search_childbirth').val(), // 请求时向服务端传递的参数
            };
            return query_params;
        },
        columns: [
            {
                //field: 'Number',//可不加
                title: '序号',//标题  可不加
                align: "center",
                width: 40,
                formatter: function (value, row, index) {
                    var pageSize=$('#tableList').bootstrapTable('getOptions').pageSize;//通过表的#id 可以得到每页多少条
                    var pageNumber=$('#tableList').bootstrapTable('getOptions').pageNumber;//通过表的#id 可以得到当前第几页
                    return pageSize * (pageNumber - 1) + index + 1;//返回每条的序号： 每页条数 * （当前页 - 1 ）+ 序号
                }
            },
            { field: 'enterpriseName', title: '企业名称',align: 'center'},
            { field: 'livestockNumber', title: '母畜编号',align: 'center'},
            { field: 'matherType', title: '母畜类型',align: 'center'},
            { field: 'animalType', title: '动物种类',align: 'center'},
            { field: 'breedingTime', title: '配种时间',align: 'center'},
            { field: 'productionTime', title: '预产时间',align: 'center'},
            { field: 'parity', title: '胎次',align: 'center'},
            { title: '是否复配',align: 'center',
                formatter: function (value, row, index) {
                    var a=""
                   if(row.formulation==1){
                       a="是"
                   }
                   if(row.formulation==0){
                       a="否"
                   }
                   return a;
                }
            },
            { field: 'mateNumber', title: '配种次数',align: 'center'},
            { field: 'deliveryTime', title: '分娩日期',align: 'center'},
            { field: 'litterSize', title: '产仔数',align: 'center'},
            { field: 'liveNumber', title: '活仔数',align: 'center'},
            { field: 'userName', title: '上报人',align: 'center'},
            { field: 'createTime', title: '上报日期',align: 'center'},
            {
                title: '操作',
                align: 'center',
                formatter: function (value, row, index) {
                    var optionHtml = "";
                    if(row.deliveryTime==null && row.state == 1){
                        optionHtml = optionHtml+"<a class=\"btn btn-success btn-xs\"  href=\"javascript:void(0)\"  onclick='actionRecord(" + JSON.stringify(row) + ",\"edit\")' title=\"修改\" ><i class=\"fa fa-edit\"></i>分娩</a>";
                        // optionHtml = optionHtml + " <a class=\"btn btn-danger btn-xs\" href=\"javascript:void(0)\"  onclick='actionRecord(" + JSON.stringify(row) + ",\"delete\")'  title=\"删除\"><i class=\"fa fa-remove\"></i>删除</a>"
                    }
                    return optionHtml;
                }
            }
        ]
    });
}
/**
 *时间选择器
 */
laydate.render({
    elem: '#text_BreedingTime',
    theme: 'molv',
    type:"date",
});
laydate.render({
    elem: '#text_DeliveryTime',
    theme: 'molv',
    type:"date",
});
laydate.render({
    elem: '#search_TimeIntervale',
    range: true,
});
laydate.render({
    elem: '#search_TimeIntervale2',
    range: true,
});
//查询方法****************************
function doSearch() {
    // $('#tableList').bootstrapTable(('refresh')); // 很重要的一步，刷新url！
    $("#tableList").bootstrapTable("refreshOptions",{pageNumber:1});
}
//重置****************************
function doRest() {
    $("#search_LivestockNumber").val("");
    $("#search_TimeIntervale").val("");
    $("#search_TimeIntervale2").val("");
    $("#search_MateNumber").val("");
    // $('#tableList').bootstrapTable(('refresh')); // 很重要的一步，刷新url！
    $("#tableList").bootstrapTable("refreshOptions",{pageNumber:1});
}
//增加方法****************************
var Action="";
var reproductionId=0;
var pxt="/reproduction"; //控制器名称
function addRecord() {
    reproductionId=0;
    Action="add";
    $("#myform")[0].reset();
    $("#myform2")[0].reset();
}
//增加/修改数据保存****************************
function saveRecord() {
    if(!validateForm()) return false;
    if(!validateForm2()) return false;
    //创建传递的参数
    var postdata = {
        reproductionId: reproductionId,
        action:Action,
        livestockNumber: $("#text_LivestockNumber").val(),
        breedingTime: $("#text_BreedingTime").val(),
        matherType: $("#text_MatherType").val(),
        // parity: $("#text_Parity").val(),
        deliveryTime: $("#text_DeliveryTime").val(),
        litterSize: $("#text_LitterSize").val(),
        liveNumber: $("#text_LiveNumber").val(),
    };
    // console.log(JSON.stringify(postdata));
    //发送异步请求到后台保存用户数据
    $.ajax({
        url:pxt+"/save",
        type:"post",
        data:JSON.stringify(postdata),
        contentType:"application/json",
        dataType:"json",
        success:function(data){
            if (data.code === "200") {
                $('#myModalAdd').modal('hide')
                $('#myModalAdd2').modal('hide')
                doSearch();
                swal("操作成功!", "请继续操作", "success");
            } else {
                swal("操作失败!", "请重试", "error");
            }
        }
    });
}

//操作相关方法****************************
function actionRecord(data,type) {
    if(type=="edit")
    {
        //修改
        reproductionId=data.reproductionId;
        Action="edit";
        $("#myform2")[0].reset();
        $("#save2").removeAttr("disabled");
        WriteData(data);
        $('#myModalAdd2').modal('show')
    }
    else
    {
        //删除
        swal({
            title: "确认是否删除",
            text: "是否确认要删除该条记录？",
            type: "warning",
            showCancelButton: true,
            confirmButtonColor: "#DD6B55",
            confirmButtonText: "删除",
            cancelButtonText: "取消",
            closeOnConfirm: false
        }, function () {
            //点击删除之后此处进行传递后台
            $.ajax({
                type: "delete",
                url: pxt+"/deleteById/"+data.reproductionId,
                dataType : "json",
                contentType: "application/json",
                success: function (data, status) {
                    if (data.code == "200") {
                        doSearch();
                        swal("删除成功!", "请继续操作", "success");
                    }
                    else{
                        swal("删除失败!", "请重试", "error");
                    }
                }
            });

        });
    }
}
//给控件赋值****************************
function WriteData(data) {
    $("#text_DeliveryTime").val(data.deliveryTime);
    $("#text_LitterSize").val(data.litterSize);
    $("#text_LiveNumber").val(data.liveNumber);
}
//表单验证
function validateForm() {
    //validate方法参数可选
    return $("#myform").validate({
        rules: {
            text_LivestockNumber: {
                required: true,//必填
                minlength: 1, //最少1个字符
            },
            text_BreedingTime: {
                required: true,//必填
                minlength: 1, //最少1个字符
            },
            // text_Parity: {
            //     required: true,//必填
            //     minlength: 1, //最少1个字符
            //     number: true, //必须是数字
            // },
            text_DeliveryTime: {
                required: true,//必填
                minlength: 1, //最少1个字符
            },
            text_LitterSize: {
                required: true,//必填
                minlength: 1, //最少1个字符
                number: true, //必须是数字
            },
            text_LiveNumber: {
                required: true,//必填
                minlength: 1, //最少1个字符
                number: true, //必须是数字
            },
        },
        //错误信息提示
        messages: {
            text_LivestockNumber: {
                required: "(必填)",
                minlength: "最少1位",
            },
            text_BreedingTime: {
                required: "(必填)",
                minlength: "最少1位",
            },
            // text_Parity: {
            //     required: "(必填)",
            //     minlength: "最少1位",
            //     number: "必须输入数字",
            // },
            text_DeliveryTime: {
                required: "(必填)",
                minlength: "最少1位",
            },
            text_LitterSize: {
                required: "(必填)",
                minlength: "最少1位",
                number: "必须输入数字",
            },
            text_LiveNumber: {
                required: "(必填)",
                minlength: "最少1位",
                number: "必须输入数字",
            },
        },
    }).form();
}
//表单验证
function validateForm2() {
    //validate方法参数可选
    return $("#myform2").validate({
        rules: {
            text_DeliveryTime: {
                required: true,//必填
                minlength: 1, //最少1个字符
            },
            text_LitterSize: {
                required: true,//必填
                minlength: 1, //最少1个字符
            },
            text_LiveNumber: {
                required: true,//必填
                minlength: 1, //最少1个字符
            },
        },
        //错误信息提示
        messages: {
            text_DeliveryTime: {
                required: "(必填)",
                minlength: "最少1位",
            },
            text_LitterSize: {
                required: "(必填)",
                minlength: "最少1位",
            },
            text_LiveNumber: {
                required: "(必填)",
                minlength: "最少1位",
            },
        },
    }).form();
}
//上传文件************************
function ImportShipmentStatusList() {
    var timestamp = new Date().getTime();
    var upname = "fuImportMultipleShipmentStatus";
    if ($("#" + upname).val() == "") {
        alert("请选择上传的文件");
        return;
    }
    $.ajaxFileUpload({
        url: '/reproduction/uploadFiles',
        secureuri: false,
        fileElementId: upname,
        dataType: 'text',
        success: function (data, status) {
            $('#myModalAdd3').modal('hide')
            doSearch();
            swal("操作成功!",data, "success");
        },
        error: function (data, status, e) {
            swal("上传失败!", "请重试", "error");
        }
    });
}